package com.it.config.controller;

import org.springframework.beans.factory.FactoryBean;

/*
 * TODO 【spring】 (3)、高级特性：FactoryBean特性和使用
 * 【说明】：
 *        FactoryBean是一个接口
 *        FactoryBean的作用是作为一个工厂类、用于配置复杂的Bean对象
 * 【使用】：
 *        实现这个接口
 *        传入返回对象的类型作为泛型
 *        实现接口方法：T getObject()、返回工厂创建的对象、会存储到IOC容器中
 *                   boolean isSingleton()：会返回该对象是否是单例，true 单例 false 多例
 *                   Class<?> getObjectType() 返回对象的类型
 * 【使用场景】
 *        代理类的创建
 *        第三方框架整合
 *        复杂对象实例化等
 * */
public class spring_03_FactroyBean implements FactoryBean<spring_01_ioc_xml> {

    @Override
    public spring_01_ioc_xml getObject() throws Exception {
        return null;
    }

    @Override
    public Class<?> getObjectType() {
        return null;
    }

    @Override
    public boolean isSingleton() {
        return FactoryBean.super.isSingleton();
    }
}
